<?php
/**
 * 注：此模板为自动生成模板，需要根据实际情况调整修改
 * 此模板对 无主键/单一主键 表的支持较好，联合主键表在下一版本开发
 */
namespace Data;

use Utils\MyException;

class Table_dining
{

    //数组
    private $array;


    public function __construct($array)
    {

        $this->array = $array;

        self::setDefault();

    }


    public function getArray()
    {
        return $this->array;
    }


    public function updateWithArray($array)
    {
        foreach ($array as $key => $value) {
            if (array_key_exists($key, $this->array)) {
                $this->array = array_merge($this->array, array($key => $value));
            }
        }
    }


    private function setDefault()
    {

        if (count($this->array) == 0) {
            self::setTABLE_ID("null");
            self::setRESTAURANT_ID("0");
            self::setTABLE_NUM("0");

            self::setMAX_CAPACITY("0");
            self::setQR_CODE("");

            self::setCREATED_ON("");
            self::setCREATED_BY("0");
            self::setUPDATED_ON("");
            self::setUPDATED_BY("0");

        }
    }


    public function setTABLE_ID($value)
    {
        $this->array = array_merge($this->array, array(
            'TABLE_ID' => $value));
    }

    public function getTABLE_ID()
    {

        return $this->array ['TABLE_ID'];
    }


    public function setRESTAURANT_ID($value)
    {
        $this->array = array_merge($this->array, array(
            'RESTAURANT_ID' => $value));
    }

    public function getRESTAURANT_ID()
    {

        return $this->array ['RESTAURANT_ID'];
    }


    public function setTABLE_NUM($value)
    {
        $this->array = array_merge($this->array, array(
            'TABLE_NUM' => $value));
    }

    public function getTABLE_NUM()
    {

        return $this->array ['TABLE_NUM'];
    }


    public function setMAX_CAPACITY($value)
    {
        $this->array = array_merge($this->array, array(
            'MAX_CAPACITY' => $value));
    }

    public function getMAX_CAPACITY()
    {

        return $this->array ['MAX_CAPACITY'];
    }


    public function setQR_CODE($value)
    {
        $this->array = array_merge($this->array, array(
            'QR_CODE' => $value));
    }

    public function getQR_CODE()
    {

        return $this->array ['QR_CODE'];
    }



    public function setCREATED_ON($value)
    {
        $this->array = array_merge($this->array, array(
            'CREATED_ON' => $value));
    }

    public function getCREATED_ON()
    {

        return $this->array ['CREATED_ON'];
    }


    public function setCREATED_BY($value)
    {
        $this->array = array_merge($this->array, array(
            'CREATED_BY' => $value));
    }

    public function getCREATED_BY()
    {

        return $this->array ['CREATED_BY'];
    }


    public function setUPDATED_ON($value)
    {
        $this->array = array_merge($this->array, array(
            'UPDATED_ON' => $value));
    }

    public function getUPDATED_ON()
    {

        return $this->array ['UPDATED_ON'];
    }


    public function setUPDATED_BY($value)
    {
        $this->array = array_merge($this->array, array(
            'UPDATED_BY' => $value));
    }

    public function getUPDATED_BY()
    {

        return $this->array ['UPDATED_BY'];
    }


    public function toInsertCSV()
    {
        $str = "";

        // TABLE_ID
        $str .= self::getTABLE_ID() . ",";
        // RESTAURANT_ID
        $str .= "'" . self::getRESTAURANT_ID() . "',";
        // NUMBER
        $str .= "'" . self::getTABLE_NUM() . "',";

        $str .= "'" . self::getMAX_CAPACITY() . "',";

        $str .= "'" . self::getQR_CODE() . "',";

        // CREATED_ON
        $str .= "now()" . ",";

        // CREATED_BY
        $str .= "'" . self::getCREATED_BY() . "',";
        // UPDATED_ON
        $str .= "now()" . ",";

        // UPDATED_BY
        $str .= "'" . self::getUPDATED_BY() . "'";

        return $str;
    }


    public function toUpdateSet()
    {
        $str = "";

        // RESTAURANT_ID
        $str .= '`RESTAURANT_ID` = "' . self::getRESTAURANT_ID() . '",';

        // NUMBER
        $str .= '`TABLE_NUM` = "' . self::getTABLE_NUM() . '",';

        $str .= '`MAX_CAPACITY` = "' . self::getMAX_CAPACITY() . '",';

        $str .= '`QR_CODE` = "' . self::getQR_CODE() . '",';

        // CREATED_ON
        $str .= '`CREATED_ON` = "' . self::getCREATED_ON() . '",';

        // CREATED_BY
        $str .= '`CREATED_BY` = "' . self::getCREATED_BY() . '",';

        // UPDATED_ON
        $str .= "UPDATED_ON = now(),";

        // UPDATED_BY
        $str .= '`UPDATED_BY` = "' . self::getUPDATED_BY() . '"';
        return $str;
    }


    public function toUpdateWhere()
    {
        $str = "";
        $str .= "`TABLE_ID` = '" . self::getTABLE_ID() . "'";
        return $str;
    }

}